<template>
  <div id="app">
    <div>
      <label for="orderNo">订单号：</label>
      <input id="orderNo"  v-model="queryOrderNo" />
      <button @click="query">查询</button>
    </div>
    <div class="logistics-info" v-if="isShow && orderInfo">
      <MyGood :goodInfo="orderInfo.goodInfo">
        <template #desc>
          <img v-if="orderInfo.goodInfo.type === 1" :src="orderInfo.goodInfo.desc" class="desc">
          <span v-else>{{ orderInfo.goodInfo.desc }}</span>
        </template>
      </MyGood>
      <MyLogistics :orderInfo="orderInfo"></MyLogistics>
    </div>
  </div>
</template>

<script>
import MyGood from './components/MyGood.vue';
import MyLogistics from './components/MyLogistics.vue';

export default {
  name: 'App',
  components: {
    MyGood,
    MyLogistics
  },
  data() {
    return {
      queryOrderNo: '',
      orderInfo: null,
      isShow: false
    }
  },
  methods: {
    query() {
      if(!this.queryOrderNo) return alert('请输入订单号');
      this.isShow = true;
      // 模拟请求后端数据
      setTimeout(() => {
        this.orderInfo = {
          orderNo: this.currentOrderNo,
          role: 'admin', // 角色 ==> 用于判断是否有查看用户详情的权限
          logisticsStatus: 2, // 0 未发货 1 已发货 2 已签收 3 未签收
          logisticsCompany: '顺丰速运', // 快递公司的名称
          logisticsNo: 'SF123456789', // 快件运单号
          logisticsInfo: [
            {
              time: '2023-02-01 10:00:00', // 时间
              content: '快件已发货' // 快递状态
            },
            {
              time: '2023-02-02 09:00:00',
              content: '快件到达深圳中心'
            },
            {
              time: '2023-02-03 08:00:00',
              content: '快件派送中'
            },
            {
              time: '2023-02-04 16:00:00',
              content: '已签收'
            }
          ],
          goodInfo: { // 商品信息
            goodNo: '12345678912312', // 商品id
            goodName: '三体',// 商品名称
            type: 1, // 0 代表的是文本 1代表的是 图片
            // desc 描述 ==> 可以是图片 也可以是其他的东西。数据可以随便改
            desc: 'https://tse1-mm.cn.bing.net/th/id/OIP-C.jnyLGgKkAYDXOtDj2AW-QwHaFF?rs=1&pid=ImgDetMain'
            // desc: '三体全集（全三册）'
          }
        }
      }, 1000);
    }
  }
}
</script>

<style>
#app {
  margin-top: 60px;
  margin-left: 20px;
}

.logistics-info {
  border: 1px solid #ccc;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #eee;
  padding: 10px;
  font-size: 14px;
}

.logistics-info-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.logistics-info-header-left {
  display: flex;
  align-items: center;
}

.logistics-status {
  font-weight: bold;
  font-size: 16px;
  color: #007bff;
}

.status-unshipped {
  font-weight: bold;
  font-size: 16px;
  color: gray;
  /* 未发货颜色 */
}

.status-shipped {
  font-weight: bold;
  font-size: 16px;
  color: blue;
  /* 已发货颜色 */
}

.status-signed {
  font-weight: bold;
  font-size: 16px;
  color: green;
  /* 已签收颜色 */
}

.status-not-signed {
  font-weight: bold;
  font-size: 16px;
  color: orange;
  /* 未签收颜色 */
}

.status-unknown {
  font-weight: bold;
  font-size: 16px;
  color: black;
  /* 默认颜色 */
}

.logistics-company,
.logistics-no {
  margin-left: 10px;
  font-size: 14px;
  color: #333;
}

.logistics-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 230px;
  overflow-y: auto;
}

.logistics-info-list li {
  display: flex;
  margin-bottom: 10px;
}

.logistics-info-list-time {
  font-size: 12px;
  color: #999;
  width: 80px;
  text-align: right;
  margin-right: 10px;
}

.logistics-info-list-content {
  font-size: 14px;
  color: #333;
}

.desc {
  width: 100px;
  height: 100px;
}
</style>
